WARNING: this page is considered obsolete, as it contains information about old CHICKEN versions.
bash completion for chicken tools
The Debian bash package features support for command line completion through the file /etc/bash_completion. This page of the chicken wiki provides a file to add completion for the chicken tools in bash.
Currently, only chicken-setup is supported. Hopefully csi and csc will follow.
CHICKEN 4 is currently not supported.
Use
Copy the following code in a file named chicken in /etc/bash_completion.d. Alternatively, source it after /etc/bash_completion (which is sourced from ~/.bashrc or elsewhere).
- chicken-setup <tab> completes for *.egg files.
- chicken-setup -<tab> completes for options.
# chicken-setup command line completion for bash. # # version 0.2 -- 2007.01.13 -- vo minh thu # - chicken-setup <tab> completes for *.egg files. # version 0.1 -- 2007.01.13 -- vo minh thu _chicken_setup() { local cur prev frst opts COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} frst=${COMP_WORDS[1]} opts='-help -version -repository -program-path -host \ -uninstall -list -run -script -eval -verbose \ -keep -csc-option -dont-ask -no-install -docindex \ -check -test -ls -fetch-tree -tree -svn -revision \ -local -destdir' paroptions=${opts} # the following options take zero or one argument case "${prev}" in '-repository' | '-program-path' | '-local' | '-destdir' ) COMPREPLY=( $(compgen -A directory ${cur}) ) return 0;; '-host' ) COMPREPLY=( $(compgen -A hostname ${cur}) ) return 0;; '-run' | '-script' | '-tree' ) COMPREPLY=( $(compgen -A file ${cur}) ) return 0;; '-uninstall' | '-ls' ) local exts=$( chicken-setup -list | awk '{ print $1 }' ) COMPREPLY=( $(compgen -W "${exts}" -- ${cur}) ) return 0;; esac # the following options take zero or more arguments case "${frst}" in '-list' | '-test' ) local exts=$( chicken-setup -list | awk '{ print $1 }' ) COMPREPLY=( $(compgen -W "${exts}" -- ${cur}) ) return 0;; esac case ${cur} in -* ) COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0;; * ) COMPREPLY=($(compgen -f -X "egg" -- ${cur})) esac } [ "$have" ] && complete -F _chicken_setup chicken-setup